<?php namespace app\admin\controller;

class Category extends Common {
   //自动new模型
    protected $db;
    public function __init(){
       $this->db=new \system\model\Category();
	}
	//展示
    public function index(){
       //数据查找
	   $data=Db::table('category')->get();
	   //增强数组
	   $data = Arr::tree($data, 'cname');
//	   dd($data);
	   //分配变量
	   View::with('data',$data);
       return view();
    }
    //添加顶级分类
   public function store()
   {
	  if(IS_POST)
	  {
		 if($this->db->store()){
			message('顶级分类添加成功',u('index'),'success');
		 }
		 message('添加失败','back','error');

	  }
	  return view();
   }
   //添加子类
   public function addson(){
	  if(IS_POST)
	  {
		 if($this->db->store()){
			message('子分类添加成功',u('index'),'success');
		 }
		 message('添加失败','back','error');
	  }
	  $cid=q('get.cid');
//       dd($cid);
	  $cateData=Db::table('category')->find($cid);
	  View::with('cateData',$cateData);
	  return view();
   }
   //编辑分类
   public function edit(){
	  if(IS_POST)
	  {
		 if($this->db->edit()){
			message('分类编辑成功',u('index'),'success');
		 }
		 message('编辑失败','back','error');
	  }
      //旧数据
	  $cid=q('get.cid');
	  $oldData=Db::table('category')->find($cid);
	  View::with('oldData',$oldData);
	  //调用函数，查找除自己和子集以外的数据
	  $cateData = $this->db->getCateData($cid);
	  View::with('cateData',$cateData);
	  return view();
   }
   //删除
   public function del(){
      //接收当前cid
	  $cid=q('get.cid');
	  //当前pid
	  $pid = Db::table('category')->where('cid',$cid)->pluck('pid');
	  //查找当前pid=cid的数据，子集升级
	  $this->db->where('pid',$cid)->update(['pid'=>$pid]);
	  $res = \system\model\Category::delete($cid);
	  if($res){
		 message('分类删除成功',u('index'),'success');
	  }
	  message('删除失败','back','error');
   }
}
